package gui;

import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.*;

import javax.imageio.ImageIO;
import javax.swing.*;
import gui.ParallelCoordinatesComponent;

import weka.core.Instances;

/**
 * Exemplo simples de visualiza��o com coordenadas paralelas . O gr�fico ser�
 * armazenado em um arquivo .
 */
public class ExemploPC4 {
	public static void main(String[] args) throws IOException {
		// Usaremos a base wine .
		FileReader reader = new FileReader(
				"/ home / rafael / Java / APIs / Weka / data / wine . arff ");
		Instances instances = new Instances(reader);
		// Criamos uma inst�ncia de ParallelCoordinatesConstants e escolhemos um
		// tamanho
		// maior do que a tela do computador .
		ParallelCoordinatesComponent component = new ParallelCoordinatesComponent(
				instances, false, true, 0);
		component.setPreferredSize(new Dimension(4800, 1200));
		// Montamos a UI para visualizar o componente .
		JFrame frame = new JFrame(" Parallel Coordinates ");
		frame.getContentPane().add(new JScrollPane(component));
		frame.pack();
		frame.setVisible(true);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		// Com o componente vis�vel ( mesmo que parcialmente ), criamos uma
		// imagem para
		// renderizar seu conte�do .
		BufferedImage im = (BufferedImage) component.createImage(
				component.getWidth(), component.getHeight());
		Graphics2D graphics = (Graphics2D) im.createGraphics();
		component.paintComponent(graphics);
		// Armazenamos o componente renderizado como uma imagem .
		ImageIO.write(im, "PNG", new File(" graficowine .png"));
	}

}